#ifndef __ADDR_WRITE_H
#define __ADDR_WRITE_H
#include "sys.h"

#define SEND_IDLE 0 
#define SEND_START 1 
#define SEND_DATA 2 
#define SEND_STOP 3 
#define SEND_OK 	4 
#define SEND_DELAY 	5 

extern u8 addr_write_rst;


void UCS512_addr_proc(void);
void zc_addr_irq(void);
void ucs512a_addr_irq(void);
void ucs512c_addr_irq(void);
void UCS512_addr_convert(u16 addr);
void ucs512ab_send_startcode(void);
void send_ucs_addr(u8 time);
void stop_ucs_addr(void);
void ucs512c_send_high(void);
void ucs512c_send_low(void);
void ucs512c_send_startcode(void);
void UCS512C_addr_convert(u16 addr);
void UCS512C_addr_proc(void);
void send_dmx_0(void);
void send_rst_us(u16 nus);
void send_nrz(u8 high, u8 low);
void send_byte_nrz(u8 temp);
void send_sm1651x_addr(u8 cnt, u8 chk,u16 addr);
void sm1651x_addr_proc(void);
void send_high_us(u16 nus);
void lmj02_addr_proc(void);
void hq_addr_proc(void);
void huaquna_addr_send(void);

extern void send_addr_timeout(void);
extern	void start_zc_addr(void);
extern	void colse_zc_addr(void);
extern void ucs512_addr_start(void);
extern void ucs512_addr_irq(void);
extern void General_DMX_addr_proc(void);
extern void send_break(void);
#endif
